# ===== 配置 =====
PROTOC     = protoc
PROTO_DIR  = .
REQ_DIR    = ../request
RESP_DIR   = ../response

# 找到 proto 文件
PROTO_FILES := $(wildcard $(PROTO_DIR)/*.proto)

REQ_PROTOS  := $(filter %_request.proto, $(PROTO_FILES))
RESP_PROTOS := $(filter %_response.proto base_%.proto, $(PROTO_FILES))

# ===== 默认目标：只生成 pb 文件 =====
all: prepare gen

# 确保目录存在
prepare:
	mkdir -p $(REQ_DIR) $(RESP_DIR)

# 生成 pb.cc / pb.h
gen:
	@if [ -n "$(REQ_PROTOS)" ]; then \
		$(PROTOC) -I=$(PROTO_DIR) --cpp_out=$(REQ_DIR) $(REQ_PROTOS); \
	fi
	@if [ -n "$(RESP_PROTOS)" ]; then \
		$(PROTOC) -I=$(PROTO_DIR) --cpp_out=$(RESP_DIR) $(RESP_PROTOS); \
	fi

# 清理 pb 文件
clean:
	rm -f $(REQ_DIR)/*.pb.* $(RESP_DIR)/*.pb.*
